Full email hosting is extraordinarily complex to incrementally provision because of the “duplicate recipient address” problem. That is, a single email recipient address may exist on more than one email server at the same time. This causes serious problems for any addressing system. The US postal service, for example, cannot allow two houses on the same street to have the same number.
If an email address is user@example.com, the user@ part is analogous to a house number, and the example.com part is analogous to the street name. Having duplicate recipient email addresses causes similar problems for email. In relation to email, if one can overcome the problems inherent with duplicate recipient addresses, then the advantages may be surprisingly useful.
A discussion of the following terms may be helpful for understanding the present disclosure:
1. Simultaneity refers to a single email recipient address (user1@example.com) existing simultaneously on more than one email server.
2. Synchronous refers to a single email message being delivered to each email server as a live stream of messages.
3. Split Domain refers to email recipients within the same domain (@example.com) existing on different servers.
4. Conflict Resolution refers to detecting situations where duplicate messages may be produced and preventing or resolving the conflict.
Even to those skilled in the art of email messaging technology, each one of the above concepts would be considered arcane. In combination, however, the concepts may provide an approach to the duplicate recipient address problem that has advantages for email service providers.
A common way for people to handle more than one mailbox is by forwarding email from one account to another. For example, if a person has two email accounts (john@yahoo.com and john@mycompany.com), the person can set his or her mycompany.com mail account to forward copies to his or her yahoo.com account. Then, when the person sends email from his or her Yahoo® account, he or she can set their “From:” and “Reply To:” address to be John@mycompany.com. In effect, the person spoofs the sender address.
The net effect, therefore, is that the person can use either account to both send and receive email to or from John@mycompany.com. If the person wants to be able to send and receive email from john@yahoo.com, the person could set up the same thing on the mycompany.com account. Such an approach may be satisfactory for single users, but can become a nightmare to manage for a company with many users.
Notably, in the above example, only the sender address (“From:”) exists in both locations. Each mailbox destination still has a unique recipient address.
Another approach to the duplicate recipient address scenario may be to provide “receive only” email boxes that in fact carry duplicate recipient addresses. Typically, such mailboxes are for externally storing quarantined junk mail, or for storing read-only email for archiving purposes. In the case of spam quarantine accounts, however, messages are normally delivered only to one mailbox or the other (depending on whether or not the message was classified as spam). These systems do not allow users to send new email messages to other recipients. They are for reviewing email only. That means that they do not run into or solve the major problems with local recipients not being able to send messages to other local recipients and have those messages delivered to two or more mailboxes.
Email continuity or disaster recovery services may maintain duplicate mailboxes with duplicate recipient addresses for backup purposes. However, such systems rely on the “Big Red Switch” approach. In the event of a failure, all mail traffic for all users is immediately shifted from the primary system to the backup system. Since only one system is active at a time there is no duplicate address problem.
Split domain routing is an approach employed for migrating users from one server to another. A tutorial can be found at http://wiki.zimbra.com/index.php?title=Split Domain, which is incorporated herein be reference. To do split domain routing the servers are set to be “non-authoritative.” The servers are configured such that each server is aware of the other server(s), and so that if a local recipient match is not found for the local domain, it forwards the message to the other server.
In this way, some recipient addresses can exist on Server 1 and others on Server 2. A recipient address, however, may only exist on a single server. If the same recipient address were to exist simultaneous on each server, then one still encounters the duplicate recipient address problems.
Duplicate message prevention may resolve email message conflicts involving synchronizing two email clients asynchronously. The most common and familiar example of this is synchronizing a remote PDA device or cell phone with a desktop mailbox. When the devices connect, they compare their databases to determine which messages already exist in one location, so that duplicate copies are not transferred to the other. The present disclosure, however, describes an approach with duplicate prevention (conflict resolution) on a live stream of synchronous messages.